//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.itheima.pinda.authority.dto.auth;

import com.itheima.pinda.authority.enumeration.auth.Sex;
import com.itheima.pinda.vo.base.entity.SuperEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;

@ApiModel(
        value = "UserUpdateDTO",
        description = "用户"
)
public class UserUpdateDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("主键")
    @NotNull(
            message = "id不能为空",
            groups = {SuperEntity.Update.class}
    )
    private Long id;
    @ApiModelProperty("账号")
    @Length(
            max = 30,
            message = "账号长度不能超过30"
    )
    private String account;
    @ApiModelProperty("姓名")
    @Length(
            max = 50,
            message = "姓名长度不能超过50"
    )
    private String name;
    @ApiModelProperty("组织ID")
    private Long orgId;
    @ApiModelProperty("岗位ID")
    private Long stationId;
    @ApiModelProperty("邮箱")
    @Length(
            max = 255,
            message = "邮箱长度不能超过255"
    )
    private String email;
    @ApiModelProperty("手机")
    @Length(
            max = 20,
            message = "手机长度不能超过20"
    )
    private String mobile;
    @ApiModelProperty("性别")
    private Sex sex;
    @ApiModelProperty("启用状态 1启用 0禁用")
    private Boolean status;
    @ApiModelProperty("头像")
    @Length(
            max = 255,
            message = "头像长度不能超过255"
    )
    private String avatar;
    @ApiModelProperty("工作描述")
    @Length(
            max = 255,
            message = "工作描述长度不能超过255"
    )
    private String workDescribe;

    public static UserUpdateDTOBuilder builder() {
        return new UserUpdateDTOBuilder();
    }

    public Long getId() {
        return this.id;
    }

    public String getAccount() {
        return this.account;
    }

    public String getName() {
        return this.name;
    }

    public Long getOrgId() {
        return this.orgId;
    }

    public Long getStationId() {
        return this.stationId;
    }

    public String getEmail() {
        return this.email;
    }

    public String getMobile() {
        return this.mobile;
    }

    public Sex getSex() {
        return this.sex;
    }

    public Boolean getStatus() {
        return this.status;
    }

    public String getAvatar() {
        return this.avatar;
    }

    public String getWorkDescribe() {
        return this.workDescribe;
    }

    public UserUpdateDTO setId(final Long id) {
        this.id = id;
        return this;
    }

    public UserUpdateDTO setAccount(final String account) {
        this.account = account;
        return this;
    }

    public UserUpdateDTO setName(final String name) {
        this.name = name;
        return this;
    }

    public UserUpdateDTO setOrgId(final Long orgId) {
        this.orgId = orgId;
        return this;
    }

    public UserUpdateDTO setStationId(final Long stationId) {
        this.stationId = stationId;
        return this;
    }

    public UserUpdateDTO setEmail(final String email) {
        this.email = email;
        return this;
    }

    public UserUpdateDTO setMobile(final String mobile) {
        this.mobile = mobile;
        return this;
    }

    public UserUpdateDTO setSex(final Sex sex) {
        this.sex = sex;
        return this;
    }

    public UserUpdateDTO setStatus(final Boolean status) {
        this.status = status;
        return this;
    }

    public UserUpdateDTO setAvatar(final String avatar) {
        this.avatar = avatar;
        return this;
    }

    public UserUpdateDTO setWorkDescribe(final String workDescribe) {
        this.workDescribe = workDescribe;
        return this;
    }

    public UserUpdateDTO() {
    }

    public UserUpdateDTO(final Long id, final String account, final String name, final Long orgId, final Long stationId, final String email, final String mobile, final Sex sex, final Boolean status, final String avatar, final String workDescribe) {
        this.id = id;
        this.account = account;
        this.name = name;
        this.orgId = orgId;
        this.stationId = stationId;
        this.email = email;
        this.mobile = mobile;
        this.sex = sex;
        this.status = status;
        this.avatar = avatar;
        this.workDescribe = workDescribe;
    }

    public String toString() {
        return "UserUpdateDTO(super=" + super.toString() + ", id=" + this.getId() + ", account=" + this.getAccount() + ", name=" + this.getName() + ", orgId=" + this.getOrgId() + ", stationId=" + this.getStationId() + ", email=" + this.getEmail() + ", mobile=" + this.getMobile() + ", sex=" + this.getSex() + ", status=" + this.getStatus() + ", avatar=" + this.getAvatar() + ", workDescribe=" + this.getWorkDescribe() + ")";
    }

    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof UserUpdateDTO)) {
            return false;
        } else {
            UserUpdateDTO other = (UserUpdateDTO)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label143: {
                    Object this$id = this.getId();
                    Object other$id = other.getId();
                    if (this$id == null) {
                        if (other$id == null) {
                            break label143;
                        }
                    } else if (this$id.equals(other$id)) {
                        break label143;
                    }

                    return false;
                }

                Object this$account = this.getAccount();
                Object other$account = other.getAccount();
                if (this$account == null) {
                    if (other$account != null) {
                        return false;
                    }
                } else if (!this$account.equals(other$account)) {
                    return false;
                }

                Object this$name = this.getName();
                Object other$name = other.getName();
                if (this$name == null) {
                    if (other$name != null) {
                        return false;
                    }
                } else if (!this$name.equals(other$name)) {
                    return false;
                }

                label122: {
                    Object this$orgId = this.getOrgId();
                    Object other$orgId = other.getOrgId();
                    if (this$orgId == null) {
                        if (other$orgId == null) {
                            break label122;
                        }
                    } else if (this$orgId.equals(other$orgId)) {
                        break label122;
                    }

                    return false;
                }

                label115: {
                    Object this$stationId = this.getStationId();
                    Object other$stationId = other.getStationId();
                    if (this$stationId == null) {
                        if (other$stationId == null) {
                            break label115;
                        }
                    } else if (this$stationId.equals(other$stationId)) {
                        break label115;
                    }

                    return false;
                }

                Object this$email = this.getEmail();
                Object other$email = other.getEmail();
                if (this$email == null) {
                    if (other$email != null) {
                        return false;
                    }
                } else if (!this$email.equals(other$email)) {
                    return false;
                }

                Object this$mobile = this.getMobile();
                Object other$mobile = other.getMobile();
                if (this$mobile == null) {
                    if (other$mobile != null) {
                        return false;
                    }
                } else if (!this$mobile.equals(other$mobile)) {
                    return false;
                }

                label94: {
                    Object this$sex = this.getSex();
                    Object other$sex = other.getSex();
                    if (this$sex == null) {
                        if (other$sex == null) {
                            break label94;
                        }
                    } else if (this$sex.equals(other$sex)) {
                        break label94;
                    }

                    return false;
                }

                label87: {
                    Object this$status = this.getStatus();
                    Object other$status = other.getStatus();
                    if (this$status == null) {
                        if (other$status == null) {
                            break label87;
                        }
                    } else if (this$status.equals(other$status)) {
                        break label87;
                    }

                    return false;
                }

                Object this$avatar = this.getAvatar();
                Object other$avatar = other.getAvatar();
                if (this$avatar == null) {
                    if (other$avatar != null) {
                        return false;
                    }
                } else if (!this$avatar.equals(other$avatar)) {
                    return false;
                }

                Object this$workDescribe = this.getWorkDescribe();
                Object other$workDescribe = other.getWorkDescribe();
                if (this$workDescribe == null) {
                    if (other$workDescribe != null) {
                        return false;
                    }
                } else if (!this$workDescribe.equals(other$workDescribe)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(final Object other) {
        return other instanceof UserUpdateDTO;
    }

    public int hashCode() {
        boolean PRIME = true;
        int result = 1;
        Object $id = this.getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        Object $account = this.getAccount();
        result = result * 59 + ($account == null ? 43 : $account.hashCode());
        Object $name = this.getName();
        result = result * 59 + ($name == null ? 43 : $name.hashCode());
        Object $orgId = this.getOrgId();
        result = result * 59 + ($orgId == null ? 43 : $orgId.hashCode());
        Object $stationId = this.getStationId();
        result = result * 59 + ($stationId == null ? 43 : $stationId.hashCode());
        Object $email = this.getEmail();
        result = result * 59 + ($email == null ? 43 : $email.hashCode());
        Object $mobile = this.getMobile();
        result = result * 59 + ($mobile == null ? 43 : $mobile.hashCode());
        Object $sex = this.getSex();
        result = result * 59 + ($sex == null ? 43 : $sex.hashCode());
        Object $status = this.getStatus();
        result = result * 59 + ($status == null ? 43 : $status.hashCode());
        Object $avatar = this.getAvatar();
        result = result * 59 + ($avatar == null ? 43 : $avatar.hashCode());
        Object $workDescribe = this.getWorkDescribe();
        result = result * 59 + ($workDescribe == null ? 43 : $workDescribe.hashCode());
        return result;
    }

    public static class UserUpdateDTOBuilder {
        private Long id;
        private String account;
        private String name;
        private Long orgId;
        private Long stationId;
        private String email;
        private String mobile;
        private Sex sex;
        private Boolean status;
        private String avatar;
        private String workDescribe;

        UserUpdateDTOBuilder() {
        }

        public UserUpdateDTOBuilder id(final Long id) {
            this.id = id;
            return this;
        }

        public UserUpdateDTOBuilder account(final String account) {
            this.account = account;
            return this;
        }

        public UserUpdateDTOBuilder name(final String name) {
            this.name = name;
            return this;
        }

        public UserUpdateDTOBuilder orgId(final Long orgId) {
            this.orgId = orgId;
            return this;
        }

        public UserUpdateDTOBuilder stationId(final Long stationId) {
            this.stationId = stationId;
            return this;
        }

        public UserUpdateDTOBuilder email(final String email) {
            this.email = email;
            return this;
        }

        public UserUpdateDTOBuilder mobile(final String mobile) {
            this.mobile = mobile;
            return this;
        }

        public UserUpdateDTOBuilder sex(final Sex sex) {
            this.sex = sex;
            return this;
        }

        public UserUpdateDTOBuilder status(final Boolean status) {
            this.status = status;
            return this;
        }

        public UserUpdateDTOBuilder avatar(final String avatar) {
            this.avatar = avatar;
            return this;
        }

        public UserUpdateDTOBuilder workDescribe(final String workDescribe) {
            this.workDescribe = workDescribe;
            return this;
        }

        public UserUpdateDTO build() {
            return new UserUpdateDTO(this.id, this.account, this.name, this.orgId, this.stationId, this.email, this.mobile, this.sex, this.status, this.avatar, this.workDescribe);
        }

        public String toString() {
            return "UserUpdateDTO.UserUpdateDTOBuilder(id=" + this.id + ", account=" + this.account + ", name=" + this.name + ", orgId=" + this.orgId + ", stationId=" + this.stationId + ", email=" + this.email + ", mobile=" + this.mobile + ", sex=" + this.sex + ", status=" + this.status + ", avatar=" + this.avatar + ", workDescribe=" + this.workDescribe + ")";
        }
    }
}
